package com.muyu.cloud.commodity.service;

import com.muyu.cloud.commodity.domain.req.ProductReq;
import com.muyu.cloud.commodity.domain.model.ProductUpdateModel;
import com.muyu.cloud.commodity.domain.resp.ProductDetailResp;
import com.muyu.cloud.commodity.domain.resp.ProductVo;
import com.muyu.cloud.commodity.domain.req.ProductCommentListReq;
import com.muyu.cloud.commodity.domain.resp.ProductCommentListResp;
import com.muyu.common.core.web.page.DataPageResp;

/**
 * @
 * @descriptions: ProductService
 * @author: LiuSuo
 * @date: 19:40
 * @version: 1.0
 */
public interface ProductService {
    /**
     * 获取商品列表
     *
     * @param productReq
     * @return
     */
    DataPageResp<ProductVo> pageQuery(ProductReq productReq);

    /**
     * 商品详情
     * @param id
     * @return
     */
    ProductDetailResp getDetilById(Long id);

    /**
     * 商品修改
     * @param productUpdateModel
     */
    void upddateProduct(ProductUpdateModel productUpdateModel);

    /**
     * 商品添加
     * 包含规格组、规格值和SKU信息
     *
     * @param req
     */
    void addProduct(com.muyu.cloud.commodity.domain.req.ProductAddNewReq req);

    /**
     * 上架
     */
    void upProduct(Long id);

    /**
     * 下架
     */
    void downProduct(Long id);

    /**
     * 商品评论分页
     */
    DataPageResp<ProductCommentListResp> pageComments(ProductCommentListReq req);

    /**
     * 评论审核：通过
     */
    void approveComments(java.util.List<Long> ids);

    /**
     * 评论审核：驳回
     */
    void rejectComments(java.util.List<Long> ids);
}